A content delivery network or content distribution network (CDN) is typically a large distributed system of servers deployed in multiple data centers in the Internet. The goal of a CDN is to serve content to end-users with high availability and high performance. CDNs serve a large fraction of the Internet content today, including web objects (text, graphics, URLs and scripts), downloadable objects (media files, software, documents), applications (e-commerce, portals), live streaming media, on-demand streaming media, and social networks.
Often, a CDN caches data based on the perceived location of the client device making the request. The CDN may use, for example, the IP address of the computing device making a request for content to estimate a geographic location of the computing device. The CDN may then cache additional data at a location in the network that is in close proximity to the location. However, CDNs are typically ambivalent towards the particular client or client device requesting the content. Stated differently, CDNs do not typically attempt to identify what client, as distinguished from other clients, is requesting data. Moreover, the CDNs only attempt to cache data close to a requesting entity after receiving a request for data—i.e., typical CDNs have no knowledge of client identity. Accordingly, CDNs are not customizable to suit the needs of a particular client or able to react to a client changing location until that client requests content from the CDN.
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific recitation.